// 服务器主文件
// 引入库
const Koa = require('koa')
const serve = require('koa-static')
const { historyApiFallback } = require('koa2-connect-history-api-fallback');
const proxy = require('koa2-proxy-middleware')

// 新建服务器实例
const app = new Koa()
// 使用中间件,处理api请求
app.use(proxy({
  targets: {
    '/prod-api/(.*)': {
      target: 'http://114.132.60.122:3000/',
      changeOrigin: true,
      // prod-api 其实是打包时环境变量提供, 但是后端数据服务不认
      // 用路径重写功能可以进行发送转发前的替换(浏览器当中看不到)
      pathRewrite: {
        '/prod-api': '/api'
      }
    }
  }
}))
// 使用中间件, 处理路径 history 造成刷新404问题
app.use(historyApiFallback())
// 使用中间件, 提供本地静态文件服务
app.use(serve(__dirname + '/dist'))

// 开启服务器监听端口
// 并显示地址aaaaaa
// 并显示地址bbbbb
// 测试冲突的修改
app.listen(3333, () => {
  console.log('服务器启动完毕');
  console.log('http://localhost:3333');
})